#include <iostream>

class Test
{
    public:
    //初始化列表:1、常成员变量只能在初始化列表中进行初始化赋值
              //2、括号外的一定是成员变量，括号内的一定是形参
              //3、引用成员也必须要在初始化列表中初始化
    Test(int b,double c):a(10),b(b),c(c)
    {

    }

    void show()
    {
        std::cout<<a<<std::endl;
    }


    //const 修饰函数

    //修饰返回值
    const Test& get()   //防止返回的引用对原对象的修改
    {
        return *this;
    }

    //修饰形参
    //void fun(const Test& t) //保护传入的引用修改原对象
    //{
    //}

    const Test& func(const Test &t)const //常成员函数:不能对对象的成员变量进行任何修改
    {
        return t;
    }

    private:
        const int a;//成员常量
        //int &d;//引用成员
        int b;
        double c;
};

int mian()
{

    return 0;
}